home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_pkg.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  7KB  |  189 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import sys
  5. import os
  6. import tempfile
  7. import traceback
  8. from os import mkdir, rmdir, extsep
  9. del mkdir
  10. del rmdir
  11. from test.test_support import verify, verbose, TestFailed
  12.  
  13. def mkhier(root, descr):
  14.     if not os.path.isdir(root):
  15.         mkdir(root)
  16.     
  17.     for name, contents in descr:
  18.         comps = name.split()
  19.         fullname = root
  20.         for c in comps:
  21.             fullname = os.path.join(fullname, c)
  22.         
  23.         if contents is None:
  24.             mkdir(fullname)
  25.             continue
  26.         if verbose:
  27.             print 'write', fullname
  28.         
  29.         f = open(fullname, 'w')
  30.         f.write(contents)
  31.         if contents and contents[-1] != '\n':
  32.             f.write('\n')
  33.         
  34.         f.close()
  35.     
  36.  
  37.  
  38. def mkdir(x):
  39.     if verbose:
  40.         print 'mkdir', x
  41.     
  42.     os.mkdir(x)
  43.  
  44.  
  45. def cleanout(root):
  46.     names = os.listdir(root)
  47.     for name in names:
  48.         fullname = os.path.join(root, name)
  49.         if os.path.isdir(fullname) and not os.path.islink(fullname):
  50.             cleanout(fullname)
  51.             continue
  52.         os.remove(fullname)
  53.     
  54.     rmdir(root)
  55.  
  56.  
  57. def rmdir(x):
  58.     if verbose:
  59.         print 'rmdir', x
  60.     
  61.     os.rmdir(x)
  62.  
  63.  
  64. def fixdir(lst):
  65.     
  66.     try:
  67.         lst.remove('__builtins__')
  68.     except ValueError:
  69.         pass
  70.  
  71.     return lst
  72.  
  73.  
  74. def runtest(hier, code):
  75.     root = tempfile.mkdtemp()
  76.     mkhier(root, hier)
  77.     savepath = sys.path[:]
  78.     (fd, fname) = tempfile.mkstemp(text = True)
  79.     os.write(fd, code)
  80.     os.close(fd)
  81.     
  82.     try:
  83.         sys.path.insert(0, root)
  84.         if verbose:
  85.             print 'sys.path =', sys.path
  86.         
  87.         
  88.         try:
  89.             execfile(fname, globals(), { })
  90.         except:
  91.             traceback.print_exc(file = sys.stdout)
  92.  
  93.     finally:
  94.         sys.path[:] = savepath
  95.         os.unlink(fname)
  96.         
  97.         try:
  98.             cleanout(root)
  99.         except (os.error, IOError):
  100.             pass
  101.  
  102.  
  103.  
  104. tests = [
  105.     ('t1', [
  106.         ('t1', None),
  107.         ('t1 __init__' + os.extsep + 'py', '')], 'import t1'),
  108.     ('t2', [
  109.         ('t2', None),
  110.         ('t2 __init__' + os.extsep + 'py', "'doc for t2'; print __name__, 'loading'"),
  111.         ('t2 sub', None),
  112.         ('t2 sub __init__' + os.extsep + 'py', ''),
  113.         ('t2 sub subsub', None),
  114.         ('t2 sub subsub __init__' + os.extsep + 'py', "print __name__, 'loading'; spam = 1")], '\nimport t2\nprint t2.__doc__\nimport t2.sub\nimport t2.sub.subsub\nprint t2.__name__, t2.sub.__name__, t2.sub.subsub.__name__\nimport t2\nfrom t2 import *\nprint dir()\nfrom t2 import sub\nfrom t2.sub import subsub\nfrom t2.sub.subsub import spam\nprint sub.__name__, subsub.__name__\nprint sub.subsub.__name__\nprint dir()\nimport t2.sub\nimport t2.sub.subsub\nprint t2.__name__, t2.sub.__name__, t2.sub.subsub.__name__\nfrom t2 import *\nprint dir()\n'),
  115.     ('t3', [
  116.         ('t3', None),
  117.         ('t3 __init__' + os.extsep + 'py', "print __name__, 'loading'"),
  118.         ('t3 sub', None),
  119.         ('t3 sub __init__' + os.extsep + 'py', ''),
  120.         ('t3 sub subsub', None),
  121.         ('t3 sub subsub __init__' + os.extsep + 'py', "print __name__, 'loading'; spam = 1")], '\nimport t3.sub.subsub\nprint t3.__name__, t3.sub.__name__, t3.sub.subsub.__name__\nreload(t3)\nreload(t3.sub)\nreload(t3.sub.subsub)\n'),
  122.     ('t4', [
  123.         ('t4' + os.extsep + 'py', "print 'THIS SHOULD NOT BE PRINTED (t4" + os.extsep + "py)'"),
  124.         ('t4', None),
  125.         ('t4 __init__' + os.extsep + 'py', "print __name__, 'loading'"),
  126.         ('t4 sub' + os.extsep + 'py', "print 'THIS SHOULD NOT BE PRINTED (sub" + os.extsep + "py)'"),
  127.         ('t4 sub', None),
  128.         ('t4 sub __init__' + os.extsep + 'py', ''),
  129.         ('t4 sub subsub' + os.extsep + 'py', "print 'THIS SHOULD NOT BE PRINTED (subsub" + os.extsep + "py)'"),
  130.         ('t4 sub subsub', None),
  131.         ('t4 sub subsub __init__' + os.extsep + 'py', "print __name__, 'loading'; spam = 1")], '\nfrom t4.sub.subsub import *\nprint "t4.sub.subsub.spam =", spam\n'),
  132.     ('t5', [
  133.         ('t5', None),
  134.         ('t5 __init__' + os.extsep + 'py', 'import t5.foo'),
  135.         ('t5 string' + os.extsep + 'py', "print __name__, 'loading'; spam = 1"),
  136.         ('t5 foo' + os.extsep + 'py', "print __name__, 'loading'; import string; print string.spam")], '\nimport t5\nfrom t5 import *\nprint dir()\nimport t5\nprint fixdir(dir(t5))\nprint fixdir(dir(t5.foo))\nprint fixdir(dir(t5.string))\n'),
  137.     ('t6', [
  138.         ('t6', None),
  139.         ('t6 __init__' + os.extsep + 'py', "__all__ = ['spam', 'ham', 'eggs']"),
  140.         ('t6 spam' + os.extsep + 'py', "print __name__, 'loading'"),
  141.         ('t6 ham' + os.extsep + 'py', "print __name__, 'loading'"),
  142.         ('t6 eggs' + os.extsep + 'py', "print __name__, 'loading'")], '\nimport t6\nprint fixdir(dir(t6))\nfrom t6 import *\nprint fixdir(dir(t6))\nprint dir()\n'),
  143.     ('t7', [
  144.         ('t7' + os.extsep + 'py', "print 'Importing t7" + os.extsep + "py'"),
  145.         ('t7', None),
  146.         ('t7 __init__' + os.extsep + 'py', "print __name__, 'loading'"),
  147.         ('t7 sub' + os.extsep + 'py', "print 'THIS SHOULD NOT BE PRINTED (sub" + os.extsep + "py)'"),
  148.         ('t7 sub', None),
  149.         ('t7 sub __init__' + os.extsep + 'py', ''),
  150.         ('t7 sub subsub' + os.extsep + 'py', "print 'THIS SHOULD NOT BE PRINTED (subsub" + os.extsep + "py)'"),
  151.         ('t7 sub subsub', None),
  152.         ('t7 sub subsub __init__' + os.extsep + 'py', "print __name__, 'loading'; spam = 1")], '\nt7, sub, subsub = None, None, None\nimport t7 as tas\nprint fixdir(dir(tas))\nverify(not t7)\nfrom t7 import sub as subpar\nprint fixdir(dir(subpar))\nverify(not t7 and not sub)\nfrom t7.sub import subsub as subsubsub\nprint fixdir(dir(subsubsub))\nverify(not t7 and not sub and not subsub)\nfrom t7.sub.subsub import spam as ham\nprint "t7.sub.subsub.spam =", ham\nverify(not t7 and not sub and not subsub)\n')]
  153. nontests = [
  154.     ('x5', [], 'import a' + '.a' * 400),
  155.     ('x6', [], 'import a' + '.a' * 499),
  156.     ('x7', [], 'import a' + '.a' * 500),
  157.     ('x8', [], 'import a' + '.a' * 1100),
  158.     ('x9', [], 'import ' + 'a' * 400),
  159.     ('x10', [], 'import ' + 'a' * 500),
  160.     ('x11', [], 'import ' + 'a' * 998),
  161.     ('x12', [], 'import ' + 'a' * 999),
  162.     ('x13', [], 'import ' + 'a' * 999),
  163.     ('x14', [], 'import ' + 'a' * 2000)]
  164. args = []
  165. if __name__ == '__main__':
  166.     args = sys.argv[1:]
  167.     if args and args[0] == '-q':
  168.         verbose = 0
  169.         del args[0]
  170.     
  171.  
  172. for name, hier, code in tests:
  173.     if args and name not in args:
  174.         print 'skipping test', name
  175.         continue
  176.     
  177.     print 'running test', name
  178.     runtest(hier, code)
  179.  
  180. import sys
  181. import imp
  182.  
  183. try:
  184.     import sys.imp as sys
  185. except ImportError:
  186.     pass
  187.  
  188. raise TestFailed, "No ImportError exception on 'import sys.imp'"
  189.